package com.app.backend.common.constant;

/**
 * @program: ActConstant
 * @description:
 * @author: Zhun.Xiao
 * @create: 2020-02-27 09:56
 **/
public interface ActConstant {

    /**
     * 流程状态 已激活
     */

    Integer PROCESS_STATUS_ACTIVE = 1;
    /**
     * 流程状态 挂起
     */
    Integer PROCESS_STATUS_SUSPEND = 0;


    /**
     * 状态 待提交申请 草稿
     */
    Integer STATUS_TO_APPLY = 0;
    /**
     * 状态  处理中
     */
    Integer STATUS_TO_PROCESS = 1;
    /**
     * 状态  处理完成
     */
    Integer STATUS_TO_DONE = 2;

    /**
     * 状态 已撤回
     */
    Integer STATUS_CANCELED = 3;


    /**
     * 结果 待提交
     */
    Integer RESULT_TO_SUBMIT = 0;

    /**
     * 结果 处理中
     */
    Integer RESULT_PROCESSING = 1;

    /**
     * 结果 通过
     */
    Integer RESULT_PASS = 2;

    /**
     * 结果 驳回
     */
    Integer RESULT_REJECT = 3;
    /**
     * 结果 撤回
     */
    Integer RESULT_CANCEL = 4;

    /**
     * 结果 删除
     */
    Integer RESULT_DELETED = 5;

    /**
     * 导出流程资源类型 0- xml
     */
    Integer RESOURCE_TYPE_XML = 0;

    /**
     * 导出流程资源类型 1- 图片
     */
    Integer RESOURCE_TYPE_IMAGE = 1;


    /**
     * 节点绑定 0-用户
     */
    Integer NODE_BIND_USER = 0;
    /**
     * 节点绑定 1-角色
     */
    Integer NODE_BIND_ROLE = 1;


    /**
     * 节点类型 开始节点
     */
    Integer NODE_TYPE_START = 0;

    /**
     * 节点类型 用户任务
     */
    Integer NODE_TYPE_TASK = 1;

    /**
     * 节点类型 结束
     */
    Integer NODE_TYPE_END = 2;

    /**
     * 节点类型 排他网关
     */
    Integer NODE_TYPE_EG = 3;

    /**
     * 节点类型 平行网关
     */
    Integer NODE_TYPE_PG = 4;

    /**
     * 删除理由前缀
     */
    String DELETE_PRE = "deleted:";

    /**
     * 取消理由前缀
     */
    String CANCEL_PRE = "canceled:";

    /**
     * 驳回标记
     */
    String BACKED_FLAG = "rejected:";

    /**
     * 通过标记
     */
    String PASSED_FLAG = "completed";


    /**
     * 待办消息
     */
    String MESSAGE_TODO_CONTENT = "待审批";

    /**
     * 通过消息
     */
    String MESSAGE_PASS_CONTENT = "申请流程已通过";

    /**
     * 驳回消息
     */
    String MESSAGE_REJECT_CONTENT = "申请流程已驳回";


    /**
     * 委托消息
     */
    String MESSAGE_DELEGATE_CONTENT = "被委托待审批";


    /**
     * 系统消息类型
     */
    String MESSAGE_TYPE_TODO = "todo";
    String MESSAGE_TYPE_PASS = "pass";
    String MESSAGE_TYPE_REJECT = "reject";
    String MESSAGE_TYPE_DELEGATE = "delegate";
}